package com.bgs.travelapp.role.controller;

import com.bgs.travelapp.page.PageRequest;
import com.bgs.travelapp.page.PageResult;
import com.bgs.travelapp.result.CommonResult;
import com.bgs.travelapp.role.entity.RoleEntity;
import com.bgs.travelapp.role.service.RoleService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 2022-07-11 19：35
 * gpd 角色管理 （后端）
 */
@CrossOrigin
@RestController
@RequestMapping("/role")
public class RoleController {
    @Resource
    RoleService roleService;

    /**
     * 后端展示---角色新增
     * gpd 2022-07-11 19：45
     * @param roleEntity
     * @return
     */
    @PostMapping("/saveRole")
    public CommonResult saveRole(RoleEntity roleEntity){
        return CommonResult.ok(roleService.saveRole(roleEntity));
    }

    /**
     *
     * 分页全查+模糊查（角色名称）（后端---角色管理）
     * gpd 2022-07-11 19：55
     * @param pageRequest
     * @param roleName
     * @return
     */
    @GetMapping("/roleAllList")
    public PageResult roleAllList(PageRequest pageRequest,String roleName){
        return roleService.roleAllList(pageRequest,roleName);
    }

    /**
     * 角色修改 （后端---角色管理）
     * gpd 2022-07-11 20：06
     * @param roleEntity
     * @return
     */
    @PutMapping("/updateRole")
    public CommonResult updateRole(RoleEntity roleEntity){
        return CommonResult.ok(roleService.updateRole(roleEntity));
    }

    /**
     * 角色删除 （后端---角色管理）
     * gpd 2022-07-11 20：16
     * @param id
     * @return
     */
    @DeleteMapping("/deleteRole")
    public CommonResult deleteRole(Integer id){
        return CommonResult.ok(roleService.deleteRole(id));
    }

    /**
     * 查询所有角色关联用户管理 （后档---用户管理）
     * gpd 2022-07-11 20：26
     * @return
     */
    @GetMapping("/getRoleName")
    public CommonResult getRoleName(){
        return CommonResult.ok(roleService.getRoleName());
    }

    /**
     * 角色添加权限 （后端---角色管理）
     * gpd 2022-07-11 20：36
     * @param roleEntity
     * @return
     */
    @PutMapping("/saveJurisdiction")
    public CommonResult saveJurisdiction(@RequestBody RoleEntity roleEntity){
        return CommonResult.ok(roleService.saveJurisdiction(roleEntity));
    }
}
